package com.kotlin.demo.类

/**
 * 主构造
 */
data class Copy的使用(val name: String, val age: Int) {

    private var coreInfo : String = ""

    init {
        println("主构造被初始化了")
    }

    /**
     * 次构造
     */
    constructor(name: String) : this(name, 23) {
        println("次构造被初始化了")
        coreInfo = "coreInfo"
    }

    override fun toString(): String {
        return "name = $name age = $age coreInfo = $coreInfo"
    }


}

fun main() {
    val c = Copy的使用("次构造")
    println(c)

    /**
     * copy 方法只copy 柱构造的数据,其他构造方法的数据不处理
     * copy hashCode equals toString 等生成的方法只管主构造 ,不管次构造
     */
    val copy = c.copy()
    println(copy)
}